/**
 * @brief Braitenberg.h
 */

#ifndef BRAITENBERG_H_
#define BRAITENBERG_H_

#include "Controller.h"
#include "SensAct.h"
#include "Weight.h"

class Braitenberg : public Controller
{
public:
  Braitenberg();
  virtual ~Braitenberg();

  void input(const Sensors& sensors);
  Motor& output();

private:
  Motor motor;
  Sensors tmp_sensor;
  Weight rweight[NUM_SENS], lweight[NUM_SENS];
  Weight std_wl[NUM_SENS], std_wr[NUM_SENS];

  unsigned long int counter[NUM_SENS];
};

#endif /* BRAITENBERG_H_ */
